#include <57header.h>
#include "queue.h"

typedef struct pool_s {

    // 用来保存线程id
    pthread_t *list;
    // 用来记录线程池中线程个数
    int num;

    // 任务队列: 存net_fd
    queue_t queue;
    
    // 锁和条件变量
    pthread_mutex_t lock;
    pthread_cond_t cond;

} pool_t;

// 初始化信息
// 按照指定个数启动线程, 启动
int initPool(pool_t *pool, int num);

// 初始化socket: 设置端口ip, 监听
int initSocket(int *socket_fd, char *ip, char *port);

// 把文件描述符放入epoll监听
int addEpoll(int epoll_fd, int fd);

// 子线程的入口函数
void * threadMain(void *p);

// 给指定客户端传文件: 根据net_fd
int sendFile(int net_fd);
